package com.nanyang.tms.api.service.pick;

import com.nanyang.common.core.domain.ApiResult;
import com.nanyang.common.core.page.PageBean;
import com.nanyang.tms.api.dto.request.pick.*;
import com.nanyang.tms.api.dto.response.pick.CompanyPickGoodsPageResponse;
import com.nanyang.tms.api.dto.response.pick.PickGoodsPageResponse;

public interface PickGoodsRpcService {
    /**
     *
     * <p>listPickGoods</p>
     * <p>Description:(查询列表)</p>
     *
     * @param param
     * @return
     */
    ApiResult<PageBean<PickGoodsPageResponse>> listPickGoods(PickGoodsQueryRequest param);

    /**
     *
     * <p>updatePickGoods</p>
     * <p>Description:(修改司机)</p>
     *
     * @param param
     * @return
     */
    ApiResult<Boolean> updateDriver(PickGoodsDriverRequest param);

    /**
     *
     * <p>driverState</p>
     * <p>Description:(分配司机)</p>
     *
     * @param param
     * @return
     */
    ApiResult<Boolean> driverState(PickGoodsDriverRequest param);

    /**
     *
     * <p>cancelState</p>
     * <p>Description:(取消)</p>
     *
     * @param param
     * @return
     */
    ApiResult<Boolean> cancelState(PickGoodsUpdateStateRequest param);
    /**
     *
     * <p>updatePickGoods</p>
     * <p>Description:(已取货)</p>
     *
     * @param param
     * @return
     */
    ApiResult<Boolean> alreadyState(PickGoodsUpdateStateRequest param);
    /**
     * 新增
     * @param param
     * @return
     */
    ApiResult<Boolean> savePickGoods(PickGoodsAddRequest param);

    /**
     *
     * <p>listCompanyPickGoods</p>
     * <p>Description:(前台-查询列表)</p>
     *
     * @param param
     * @return
     */
    ApiResult<PageBean<CompanyPickGoodsPageResponse>> listCompanyPickGoods(CompanyPickGoodsQueryRequest param);
}
